import service from './service';

/**
 * 注册用户
 * @param spaceid 当前项目的spaceid 必传(不能为空)
 * @param systemid 当前项目的systemid 必传(不能为空)
 * @param productid 产品id 必传(不能为空) ，如：feidao
 * @param user_code 用户名 当reg_type是usercode时 必传(不能为空)
 * @param user_name 用户昵称 可为空
 * @param username_unique 设置用户呢称唯一性(布尔型 true不能重复，false可以重复) 根据user_name设置，若user_name传空，此参数不传
 * @param email 用户邮箱 当reg_type是email时必传(不能为空),当reg_type是verifyemail(认证邮箱)必传(不能为空)
 * @param phone 用户手机号码 当reg_type是phone时必传(不能为空),当reg_type是verifyphone(认证手机号码)必传(不能为空)
 * @param password 用户输入的密码 必传(不能为空),当reg_type是verifyemail(认证邮箱)和verifyphone(认证手机号码)可为空
 * @param captcha 当reg_type是phone时必传(不能为空),当reg_type是verifyemail(认证邮箱)必传(不能为空),当reg_type是verifyphone(认证手机号码)必传(不能为空)
 * @param reg_type usercode | email | phone | verifyemail | verifyphone
 * @example const res=await user_regist(systemid, productid, user_code, user_name, username_unique, email, phone, password, captcha, reg_type);
 */
export default function user_regist(systemid: string, productid: string, user_code: string, user_name: string, username_unique: boolean, email: string, phone: string, password: string, captcha: string, reg_type: 'usercode' | 'email' | 'phone' | 'verifyemail' | 'verifyphone') {
	const msg = {
		captcha,
		email,
		password,
		phone,
		productid,
		reg_type,
		systemid,
		user_code,
		user_name,
		username_unique
	};
	return service('loginservice.register', msg, false, false);
}
